package com.tudouji.project.produce.service;

import java.util.List;

import com.tudouji.framework.web.domain.AjaxResult;
import com.tudouji.project.produce.domain.Whinapply;

/**
 * 入库申请单Service接口
 * 
 * @author tudouji
 * @date 2022-06-01
 */
public interface IWhinapplyService 
{
    /**
     * 查询入库申请单
     * 
     * @param guid 入库申请单ID
     * @return 入库申请单
     */
    public Whinapply selectWhinapplyById(Long guid);

    /**
     * 查询入库申请单列表
     * 
     * @param whinapply 入库申请单
     * @return 入库申请单集合
     */
    public List<Whinapply> selectWhinapplyList(Whinapply whinapply, String status, String functionType);

    public List<Whinapply> selectWhinapplyList(Whinapply whinapply);

    /**
     * 新增入库申请单
     * 
     * @param whinapply 入库申请单
     * @return 结果
     */
    public int insertWhinapply(Whinapply whinapply);

    /**
     * 修改入库申请单
     * 
     * @param whinapply 入库申请单
     * @return 结果
     */
    public int updateWhinapply(Whinapply whinapply);

    /**
     * 批量删除入库申请单
     * 
     * @param guids 需要删除的入库申请单ID
     * @return 结果
     */
    public int deleteWhinapplyByIds(String[] guids);

    /**
     * 删除入库申请单信息
     * 
     * @param guid 入库申请单ID
     * @return 结果
     */
    public int deleteWhinapplyById(String guid);

    public AjaxResult getWhinapplyInfo(Long pickinglistid, String productflag);

    public AjaxResult getSpeByproduct(String productid, String type, String types, String stats);

    public AjaxResult save(Whinapply whinapply,Long taskId,String fileIds);

    public AjaxResult approval(Long id, String fileIds, String opinion, Long taskid);

    public AjaxResult refuse(Long id, String fileIds, String opinion, Long taskid, Long refuseNodeid, Long backUserid);

    public AjaxResult delQaform(Long id, String fileIds, String opinion, Long taskid);

    public AjaxResult del(Long id);

    public Whinapply selectWhinapplyByAutoId(Long id);

    public List<Whinapply> selectList(Whinapply wa);
}
